목표 🎯
- 과제:원본 서버 `S`에서 모든 다른 서버로 가는 최적의 경로를 찾으세요.
- 출력 결과:모든 서버 `i`에 대해 다음을 계산해야 합니다:
- 총 지연 시간:`S`에서 `i`까지의 최소 비용(최단 경로).
- 다음 점검 지점:그 최단 경로상의 첫 번째 서버.
- 예시:만약 `S`에서 `D`로 가는 최적 경로가 `S -> A -> B -> D`라면, **다음 점검 지점**은 `A`입니다.
네트워크 💾
우리는 인접 리스트를 사용하여 네트워크를 저장합니다.
- 서버는 노드입니다.
- 연결은 양방향 간선입니다.
- 지연 시간은 양수 가중치입니다.
// 연결: 0-1 (10ms), 0-2 (3ms)
adj = [
0:[(1, 10), (2, 3)],
1:[(0, 10)],
2:[(0, 3)],
...
]
adj = [
0:[(1, 10), (2, 3)],
1:[(0, 10)],
2:[(0, 3)],
...
]
출력 형식 ⚙️
`V`줄을 출력해야 합니다. 각 줄 `i`는 서버 `i`에 해당합니다.
[지연시간] [다음 점검 지점]도달 가능한 노드에 대한 것입니다.
0 -1노드가 원본 `S` 자체인 경우입니다.
-1 -1노드가 `S`에서 도달 불가능한 경우입니다.